package cn.wxq.daily.empdailymgforserve.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * 出勤休假
 */
public class Vacation {
    /**
     * ID
     */
    private Integer leaveId;

    private Integer userId;

    /**
     * 出勤休假类型（1：请假，2：加班，3：出差）
     */
    private String vacationType;

    /**
     * 理由
     */
    private String leaveReson;
    /**
     * 请假类型（1：事假，2：病假，3：婚假，4：产假，5：丧假）
     */
    private String leaveType;
    /**
     * 出差出发地
     */
    private String startCity;
    /**
     * 出差目的地
     */
    private String endCity;
    /**
     * 同行人
     */
    private String plaver;
    private String nickName;

    /**
     * 审核状态（1：通过，2：未审核)
     */
    private String status;
    /**
     * 申请时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date addTime;
    /**
     * 开始时间）
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;
    /**
     * 结束时间）
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;


    /**
     * 用户对象
     */
    private List<User> users;
    /**
     * 审核表对象
     */
    private VacationAudit vacationAudit;

    public Integer getLeaveId() {
        return leaveId;
    }

    public void setLeaveId(Integer leaveId) {
        this.leaveId = leaveId;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getVacationType() {
        return vacationType;
    }

    public void setVacationType(String vacationType) {
        this.vacationType = vacationType;
    }

    public String getLeaveReson() {
        return leaveReson;
    }

    public void setLeaveReson(String leaveReson) {
        this.leaveReson = leaveReson;
    }

    public String getLeaveType() {
        return leaveType;
    }

    public void setLeaveType(String leaveType) {
        this.leaveType = leaveType;
    }

    public String getStartCity() {
        return startCity;
    }

    public void setStartCity(String startCity) {
        this.startCity = startCity;
    }

    public String getEndCity() {
        return endCity;
    }

    public void setEndCity(String endCity) {
        this.endCity = endCity;
    }

    public String getPlaver() {
        return plaver;
    }

    public void setPlaver(String plaver) {
        this.plaver = plaver;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Date getAddTime() {
        return addTime;
    }

    public void setAddTime(Date addTime) {
        this.addTime = addTime;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public List<User> getUsers() {
        return users;
    }

    public void setUsers(List<User> users) {
        this.users = users;
    }

    public VacationAudit getVacationAudit() {
        return vacationAudit;
    }

    public void setVacationAudit(VacationAudit vacationAudit) {
        this.vacationAudit = vacationAudit;
    }

    @Override
    public String toString() {
        return "Vacation{" +
                "leaveId=" + leaveId +
                ", userId=" + userId +
                ", vacationType='" + vacationType + '\'' +
                ", leaveReson='" + leaveReson + '\'' +
                ", leaveType='" + leaveType + '\'' +
                ", startCity='" + startCity + '\'' +
                ", endCity='" + endCity + '\'' +
                ", plaver='" + plaver + '\'' +
                ", nickName='" + nickName + '\'' +
                ", status='" + status + '\'' +
                ", addTime=" + addTime +
                ", startTime=" + startTime +
                ", endTime=" + endTime +
                ", users=" + users +
                ", vacationAudit=" + vacationAudit +
                '}';
    }
}
